package at.fhj.swd.pse.domain;

import java.util.List;

import at.fhj.swd.pse.data.UserDAO;
import at.fhj.swd.pse.entities.User;

/**
 * @author Florian Maderbacher
 **/

public interface UserService {
	/**
	 * Search for existing user.
	 * 
	 * @param username
	 *            from input
	 * @param password
	 *            from input (without hash)
	 * @return found User with username and password.
	 */
	User login(String username, String password);
	
	void setUserDAO(UserDAO userDao);
	
	void setAs(ActivityService activityService);
	
	User getUserProfileByUserId(final int userId);
	
	void updateUser(final User user);
	
	void addFriend(final User user, final User friend);
	
	void removeFriend(final User user, final User friend);
	
	List<User> getUsers();
}
